Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: finalize numactl dependency removal #2648

Closed
wants to merge 2 commits into from

Conversation

tchaikov
Copy link
Contributor

Following 8ab0267, which dropped the build dependency on numactl, this commit removes all remaining references from the build system. This includes cleaning up template files (.pc.in and .cmake.in) that still contained unnecessary numactl references.

Changes:

  • Remove Findnumactl.cmake since it's no longer needed at configuration time
  • Remove numactl::numactl library linking as we no longer need its headers or libraries
  • Remove unused Seastar_NUMA CMake option
  • Remove numactl from SeastarDependencies.cmake

This completes the work started in 8ab0267 and ensures Seastar applications no longer pull in numactl's cflags or libraries during the build process.

@tchaikov
Copy link
Contributor Author

cc @rockwotj

When DPDK's static libraries are built with libnuma support, they create a
dependency that must be propagated to our build system. Currently, we link
against libnuma via the "Seastar_NUMA" option (enabled by default), but an
upcoming change will remove this option.

This commit makes the libnuma linkage explicit when building with DPDK to:
1. Properly express the dependency relationship
2. Ensure builds continue to work after the Seastar_NUMA option is removed
3. Fix the dependency chain from libdpdk to libnuma

Implementation details:
- Reuses the existing libbsd linkage detection mechanism
- Switches from using dpdk_PC_LIBRARIES to dpdk_PC_STATIC_LIBRARIES since
  both "bsd" and "numa" are only listed in the output of
  `pkgconf --static libdpdk`

Signed-off-by: Kefu Chai <[email protected]>
Following 8ab0267, which dropped the build dependency on numactl,
this commit removes all remaining references from the build system. This
includes cleaning up template files (.pc.in and .cmake.in) that still
contained unnecessary numactl references.

Changes:
- Remove Findnumactl.cmake since it's no longer needed at configuration
  time
- Remove numactl::numactl library linking as we no longer need its
  headers or libraries
- Remove unused Seastar_NUMA CMake option
- Remove numactl from SeastarDependencies.cmake

This completes the work started in 8ab0267 and ensures Seastar
applications no longer pull in numactl's cflags or libraries during
the build process.

Signed-off-by: Kefu Chai <[email protected]>
@rockwotj
Copy link
Contributor

Oh nice thanks @tchaikov! I thought we couldn't completely drop the dependency due to dpdk, but it seems that was wrong.. Thanks for fixing!

@rockwotj
Copy link
Contributor

d01796d was the bit I was missing. Anyways, LGTM

@avikivity avikivity closed this in b9a666e Feb 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants